﻿using System;
using ExplorerService.Common.DataContracts;

namespace ExplorerService.Common
{
    /// <summary>
    /// Class used to store application sessions
    /// </summary>
    public class ApplicationSession
    {
        /// <summary>
        /// The session ID
        /// </summary>
        public Guid SessionId { get; set; }

        /// <summary>
        /// Application information for the current session
        /// </summary>
        public ApplicationInformation Information { get; set; }

        /// <summary>
        /// Session start state
        /// </summary>
        public bool SessionStarted { get; set; }

        /// <summary>
        /// Session creation time
        /// </summary>
        public DateTime SessionCreateTime { get; set; }

        /// <summary>
        /// Session start time. Null if the session has not started yet
        /// </summary>
        public DateTime? SessionStartTime { get; set; }

        /// <summary>
        /// Session expire time
        /// </summary>
        public DateTime SessionExpireTime { get; set; }

        public bool Locked
        {
            get;
            set;
        }
    }
}